public class PlayerJumpState : PlayerAbilityState
{
    private int _countOfJumpLeft;

    public PlayerJumpState(Player player, PlayerSM stateMachine, PlayerData playerData, string animBoolName, Core core)
        : base(player, stateMachine, playerData, animBoolName, core)
    {
        _countOfJumpLeft = _playerData._countOfJumpLeft;
    }


    //�ɱ���Ծ�߶���ʱ��ȥʵ��
    public override void Enter()
    {
        base.Enter();
        _core.Movement.SetVelocityY(_playerData._jumpVelocity);
        _isAbilityDone = true;
        _countOfJumpLeft--;
    }

    public bool CanJump()
    {
        if (_countOfJumpLeft > 0)
            return true;
        return false;
    }

    public void ResetJumpCount()
    {
        _countOfJumpLeft = _playerData._countOfJumpLeft;
    }

    public void DecreaseCountofJump()
    {
        _countOfJumpLeft--;
    }
}